# Погодный сервер

## Сборка и запуск в контейнере

Для сборки в Docker использовать `docker compose build` в директории проекта и затем `docker compose up -d`. 

По умолчанию, сервер доступен по адресу `http://localhost:8088`

Описание API в Swagger формате вшито в сервер и доступно по адресу `http://localhost:8088/swagger/index.html`

При первом запуске БД инициализируется автоматически. Создается дефолтный пользователь с `id=1`

Очень простая вебка с формой добавления аккаунта и списком существующих аккаунтов `http://localhost:8088`

**Postman collection** находится в репозитории в `tests/postman/wserver_postman.json`

## Используемый стэк

- Go - 1.22+
- Entio - ORM на основе кодогенерации
- Atlas - миграция БД
- Zap - logger
- PostgreSQL - DB
- swaggo - для генерации Swagger документации из комментариев

## Разработка

Для отладки стоит поднять только PostgreSQL: `docker compose up -d postgres_db` и далее использова сборку через `build.sh` на хосте.

Для включения debug информации: `build.sh debug`